10 research outputs found
A Parameterised Hierarchy of Argumentation Semantics for Extended Logic Programming and its Application to the Well-founded Semantics
Argumentation has proved a useful tool in defining formal semantics for
assumption-based reasoning by viewing a proof as a process in which proponents
and opponents attack each others arguments by undercuts (attack to an
argument's premise) and rebuts (attack to an argument's conclusion). In this
paper, we formulate a variety of notions of attack for extended logic programs
from combinations of undercuts and rebuts and define a general hierarchy of
argumentation semantics parameterised by the notions of attack chosen by
proponent and opponent. We prove the equivalence and subset relationships
between the semantics and examine some essential properties concerning
consistency and the coherence principle, which relates default negation and
explicit negation. Most significantly, we place existing semantics put forward
in the literature in our hierarchy and identify a particular argumentation
semantics for which we prove equivalence to the paraconsistent well-founded
semantics with explicit negation, WFSX. Finally, we present a general proof
theory, based on dialogue trees, and show that it is sound and complete with
respect to the argumentation semantics.Comment: To appear in Theory and Practice of Logic Programmin
A Categorical and Graphical Treatment of Closure Conversion
This paper gives a formal basis for the closure conversion phase of functional programming languages with imperative features, using a graphical semantics for the language. We present normal forms of graphs, one corresponding to procedural languages, and one corresponding to object-oriented languages. Using closure conversion, we can prove normalization results for both normal forms. Thus, we obtain sound algorithms for compiling the language into either procedural or object-oriented code. We discuss efficiency issues of the translation and suggest some improvements on the algorithm. 1 Introduction This paper describes a categorical formalization of an important step in compiling higher-order languages: closure conversion. Closure conversion is a compilation step which takes nested procedures such as: proc f (x : X1) : X2 { rec g; proc g (y : Y1) : Y2 { return G (g, x, y); } return F (g, x); } and lifts the nested procedures up to top level: rec g_lift; proc g_lift (x : X1, y : Y1..